﻿using System;
namespace Kis.Xroad.Eu {
    
    
    [System.SerializableAttribute()]
    public partial class ComplexTypeWithThreeBasicTypes {
        
        private System.DateTime @__builtin;
        
        private global::Kis.Xroad.Eu.Gender @__udf;
        
        private global::Kis.Xroad.Eu.Employee @__complex;
        
        public ComplexTypeWithThreeBasicTypes() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ComplexTypeWithThreeBasicTypes(System.DateTime @builtin, global::Kis.Xroad.Eu.Gender @udf, global::Kis.Xroad.Eu.Employee @complex) {
            this.@__builtin = @builtin;
            this.@__udf = @udf;
            this.@__complex = @complex;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ComplexTypeWithThreeBasicTypes(ComplexTypeWithThreeBasicTypes @complexTypeWithThreeBasicTypes) {
            this.@__builtin = @complexTypeWithThreeBasicTypes.Builtin;
            this.@__udf = @complexTypeWithThreeBasicTypes.Udf;
            this.@__complex = @complexTypeWithThreeBasicTypes.Complex;
        }
        
        public virtual System.DateTime Builtin {
            get {
                return this.@__builtin;
            }
            set {
                this.@__builtin = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.Gender Udf {
            get {
                return this.@__udf;
            }
            set {
                this.@__udf = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.Employee Complex {
            get {
                return this.@__complex;
            }
            set {
                this.@__complex = value;
            }
        }
    }
}
